// 用户相关接口模块
// 1. 引入公共axios请求
import { request } from '../utils/request.js'
// import store from '../store/index.js'

/**
 * 说明：用户登录
 *
 * @params mobile 手机号 String
 * @params code 验证码 String
 *
 * @return data 用户信息
 */
// @params 表示入参
// @return 表示后端成功请求后的返回值

// 创建接口方法
export const userLogin = data => request({
  method: 'POST',
  url: '/v1_0/authorizations',
  data
})

/**
 * 说明：获取验证码
 *
 * @params mobile 手机号 String
 * @params code 验证码 String
 *
 * @return data 用户信息
 */
export const userSendSms = mobile => request({
  method: 'GET',
  url: `/v1_0/sms/codes/${mobile}`
})

/**
 * 说明：获取用户基本信息
 */
export const getUserInfo = () => request({
  method: 'GET',
  url: '/v1_0/user'
  // 发生请求头参数
  // headers: {
  //   Authorization: `Bearer ${store.state.user.token}`
  // }
})

/**
 * 说明：获取用户频道列表
 */
export const getUserChannels = () => request({
  method: 'GET',
  url: '/v1_0/user/channels'
})
/**
 * 说明：关注用户
 *  @params target 关注目标（被关注的用户id）
 */
export const addFollow = data => request({
  method: 'POST',
  url: '/v1_0/user/followings',
  data
})
/**
 * 说明：取消关注用户
 *  @params target 关注目标（被关注的用户id）
 */
export const deleteFollow = target => request({
  method: 'DELETE',
  url: `/v1_0/user/followings/${target}`
})

/**
 * 说明：获取用户个人资料
 */
export const getUserProFile = () => request({
  method: 'GET',
  url: '/v1_0/user/profile'
})

/**
 * 说明：编辑用户照片资料（头像、身份证照片）
 */
export const updateUserAvatar = data => request({
  method: 'PATCH',
  url: '/v1_0/user/photo',
  data
})

/**
 * 说明：更新用户基本信息
 *
 * @params name 昵称
 * @params gender 性别 0-男 1-女
 * @params birthday 生日 yyyy-mm-dd
 */
export const updateUserProfile = data => request({
  method: 'PATCH',
  url: '/v1_0/user/profile',
  data
})
